name: Chroma Integration Tests

on:
  push:
    branches:
      - main
      - team/hypothesis-tests
  pull_request:
    branches:
      - main
      - '**'
  workflow_dispatch:

jobs:
  test:
    strategy:
      matrix:
        python: ['3.8']
        platform: [ubuntu-latest, windows-latest]
        testfile: ["--ignore-glob 'chromadb/test/property/*' --ignore='chromadb/test/test_cli.py' --ignore='chromadb/test/auth/test_simple_rbac_authz.py'",
                   "chromadb/test/property/test_add.py",
                   "chromadb/test/test_cli.py",
                   "chromadb/test/auth/test_simple_rbac_authz.py",
                   "chromadb/test/property/test_collections.py",
                   "chromadb/test/property/test_cross_version_persist.py",
                   "chromadb/test/property/test_embeddings.py",
                   "chromadb/test/property/test_filtering.py",
                   "chromadb/test/property/test_persist.py"]
    runs-on: ${{ matrix.platform }}
    steps:
    - name: Checkout
      uses: actions/checkout@v3
    - name: Set up Python ${{ matrix.python }}
      uses: actions/setup-python@v4
      with:
        python-version: ${{ matrix.python }}
    - name: Install test dependencies
      run: python -m pip install -r requirements.txt && python -m pip install -r requirements_dev.txt
    - name: Integration Test
      run: bin/integration-test ${{ matrix.testfile }}
